<?php
require_once 'views/ViewController.php';
require_once 'config/class.mysql.php';
require_once 'config/metadata.php';
require_once 'config/controller.php';

class IndexController extends Controller{

	protected static $baseUrl = '/index.php';
	/*
	public function dispatch() {
		$func = (isset($_GET['func'])? $_GET['func'] : 'index');
		$func = preg_replace("/[^a-zA-Z0-9\s]/", '', $func) . '_action';

		if (is_callable(array($this, $func))){
			$this->$func();
		} else die('Destination ' . $func .' not found');
	}
	*/
	public function index_action(){
		$metadata = Metadata::get('novedades');
		$destacados = $this->Mysql->getAll('destacados', '*');
		$noticias = $this->Mysql->getAll('novedades', '*', 15, 'fecha DESC, ', 'id DESC');
		$data = array(
			'title' => "Novedades",
			'destacados' => $destacados,
			'noticias' => $noticias,
			'baseUrl' => self::$baseUrl
		);

		$this->viewController->render('index', $data, $metadata);
	}

	public function curriculum_action(){
		$metadata = Metadata::get('curriculum');

		$result = $this->Mysql->getWhere('contenido', 'curriculum', array('idioma', $this->idioma));
		$this->viewController->render('curriculum', utf8_encode($result[0]['curriculum']), $metadata);
	}

	public function clases_action(){
		$metadata = Metadata::get('clases');
		
		$result = $this->Mysql->getWhere('contenido', 'clases', array('idioma', $this->idioma));
		$this->viewController->render('clases', utf8_encode($result[0]['clases']), $metadata);
	}

	public function contacto_action(){
		$metadata = Metadata::get('contacto');		

		$result = $this->Mysql->getWhere('contenido', 'contacto', array('idioma', $this->idioma));
		$this->viewController->render('contacto', utf8_encode($result[0]['contacto']), $metadata);
	}

	public function danza_action(){
		$metadata = Metadata::get('danza');

		$result = $this->Mysql->getWhere('contenido', 'danza', array('idioma', $this->idioma));
		$this->viewController->render('danza', utf8_encode($result[0]['danza']), $metadata);
	}

	public function flamenco_action(){
		$metadata = Metadata::get('flamenco');

		$result = $this->Mysql->getWhere('contenido', 'flamenco', array('idioma', $this->idioma));
		$this->viewController->render('flamenco', utf8_encode($result[0]['flamenco']), $metadata);
	}

	public function galeria_action(){
		$metadata = Metadata::get('galeria');

		$fotos = $this->Mysql->getAll('fotos', 'enlace, comentario', 4, 'id', 'DESC');
		$videos = $this->Mysql->getAll('videos', 'enlace, thumbnail, titulo', 2, 'id', 'DESC');

		$this->viewController->render('galeria', array('fotos' => $fotos, 'videos' => $videos), $metadata);
	}

	public function sehar_action(){
		$metadata = Metadata::get('sehar');

		$result = $this->Mysql->getWhere('contenido', 'sehar', array('idioma', $this->idioma));
		$this->viewController->render('sehar', utf8_encode($result[0]['sehar']), $metadata);
	}

	public function videos_action(){
		$metadata = Metadata::get('videos');
		$videos = $this->Mysql->getJoin(array('videos','categorias'), 'categorias.nombre, videos.*', array('videos.id_categoria', 'categorias.id'),  'LEFT');
		$data = array(
			'title' => "Gestión fotos",

			'videos' => $videos,
			'baseUrl' => self::$baseUrl
		);

		$this->viewController->render('videos', $data, $metadata);
	}
	
	public function fotos_action(){
		$metadata = Metadata::get('fotos');
		
		$fotos = $this->Mysql->getJoin(array('fotos','categorias'), 'categorias.nombre, categorias.orden, fotos . *', array('fotos.id_categoria', 'categorias.id'),  'LEFT', '2 ASC,', '3 DESC');
		$data = array(
			'title' => "Galería de imagenes",
			'fotos' => $fotos,
			'baseUrl' => self::$baseUrl
		);

		$this->viewController->render('fotos', $data, $metadata);
	}

}

$controller = new IndexController('ViewController');
$controller->dispatch();
